library(tidyverse)
library(readxl)
library(patchwork)
library(kableExtra)
library(knitr)
library(ranger)
library(vip)
library(rpart)
library(rpart.plot)




|
Pitch
|
Horizontal
|
Vertical
|
Pitch Proportion
|
Spin Rate
|
|
4-Seamer
|
7.45
|
14.86
|
0.46
|
2285.29
|
|
Changeup
|
14.03
|
32.27
|
0.26
|
1754.87
|
|
Curveball
|
9.45
|
53.35
|
0.26
|
2572.18
|
|
Cutter
|
2.88
|
25.97
|
0.34
|
2380.57
|
|
Sinker
|
15.00
|
22.89
|
0.39
|
2127.16
|
|
Slider
|
6.42
|
36.28
|
0.34
|
2432.44
|
|
Splitter
|
11.71
|
33.09
|
0.28
|
1459.77
|



Pitch Classifications for Stuff+
|
Class
|
Stf+ Range
|
|
1
|
< 55
|
|
2
|
< 70
|
|
3
|
< 85
|
|
4
|
< 95
|
|
5
|
< 105
|
|
6
|
< 115
|
|
7
|
< 130
|
|
8
|
< 145
|
|
9
|
< 160
|
|
10
|
≥ 160
|













## Ranger result
##
## Call:
## ranger(woba ~ ., data = tree_input, num.trees = 1000, importance = "impurity")
##
## Type: Regression
## Number of trees: 1000
## Sample size: 2074
## Number of independent variables: 18
## Mtry: 4
## Target node size: 5
## Variable importance mode: impurity
## Splitrule: variance
## OOB prediction error (MSE): 0.002036857
## R squared (OOB): 0.5904444


##
## Call:
## lm(formula = woba ~ pitch_stuff + pitcher_break_z + pitcher_break_x +
## avg_speed + spin_rate + pitch_per + fb_stuff + fb_thrown +
## speed_diff, data = .)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.167954 -0.037116 -0.003074 0.034631 0.254951
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.293e-01 7.465e-02 4.412 1.13e-05 ***
## pitch_stuff -1.856e-03 1.216e-04 -15.264 < 2e-16 ***
## pitcher_break_z 2.866e-04 3.550e-04 0.807 0.41961
## pitcher_break_x 4.391e-05 3.382e-04 0.130 0.89672
## avg_speed 1.630e-03 8.364e-04 1.949 0.05154 .
## spin_rate 3.615e-05 5.304e-06 6.814 1.57e-11 ***
## pitch_per -4.259e-02 2.086e-02 -2.042 0.04140 *
## fb_stuff -3.970e-04 1.220e-04 -3.254 0.00117 **
## fb_thrown -7.399e-06 6.273e-06 -1.179 0.23848
## speed_diff 2.478e-03 8.582e-04 2.888 0.00396 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05541 on 1084 degrees of freedom
## Multiple R-squared: 0.3594, Adjusted R-squared: 0.3541
## F-statistic: 67.58 on 9 and 1084 DF, p-value: < 2.2e-16


##
## Call:
## lm(formula = woba ~ pitcher_break_z + pitcher_break_x + avg_speed +
## spin_rate, data = .)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.175665 -0.045925 -0.005587 0.043604 0.251960
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.012e-01 7.650e-02 5.244 1.88e-07 ***
## pitcher_break_z -2.084e-03 3.746e-04 -5.564 3.32e-08 ***
## pitcher_break_x 4.733e-04 3.980e-04 1.189 0.235
## avg_speed -6.843e-04 7.973e-04 -0.858 0.391
## spin_rate 9.159e-06 6.051e-06 1.514 0.130
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.06634 on 1089 degrees of freedom
## Multiple R-squared: 0.0773, Adjusted R-squared: 0.07391
## F-statistic: 22.81 on 4 and 1089 DF, p-value: < 2.2e-16


Sliders


Fastballs (Four-Seam, Cutter, Sinker)


Curveballs

